home *** CD-ROM | disk | FTP | other *** search
/ Amiga Plus 2004 #2 / Amiga Plus CD - 2004 - No. 02.iso / AmigaPlus / Tools / Development / AmigaTalk / system / UnSafeDos.st < prev    next >
Encoding:
Text File  |  2004-01-31  |  7.2 KB  |  218 lines

  1. "----------------------------------------------------------------------"
  2. " UnSafeDOS Class implements some of the more intrusive AmigaDOS func- "
  3. " tions into AmigaTalk.                                                "
  4. ""
  5. " WARNING:  You should know what you're doing to the Amiga OS before   "
  6. "           messing with this Class, or any other System Class!        "
  7. ""
  8. " Please read AmigaTalk:Help/ADos.guide for guidance on how to use the "
  9. " methods of this Class -- it's really getting hard to document each   "
  10. " AmigaTalk Class in two or more places!                               "
  11. " ---------------------------------------------------------------------"
  12.  
  13. Class UnSafeDOS :Object
  14. [
  15.    addPart: fileName to: dirName ofSize: size
  16.      ^ <primitive 247 0 dirName fileName size>
  17. |         
  18.    addAssignment: assignName to: bptrLock
  19.      ^ <primitive 247 1 assignName bptrLock>
  20. |
  21.    addAssignmentLater: assignName to: pathFileName
  22.      ^ <primitive 247 2 assignName pathFileName>
  23. |         
  24.    addAssignment: assignName toLock: bptrLock
  25.      ^ <primitive 247 3 assignName bptrLock>
  26. |         
  27.    addAssignment: assignName toPath: pathName
  28.      ^ <primitive 247 4 assignName pathName>
  29. |         
  30.    changeMode: bptrLockOrFH type: type to: newMode
  31.      ^ <primitive 247 5 type bptrLockOrFH newMode>
  32. |         
  33.    checkForSignal: withBitMask
  34.      ^ <primitive 247 6 withBitMask>
  35. |         
  36.    close: bptrFileHandle
  37.      ^ <primitive 247 7 bptrFileHandle>
  38. |         
  39.    createDir: dirName
  40.      ^ <primitive 247 8 dirName>
  41. |
  42.    makeDateStamp: dateStampObject
  43.      ^ <primitive 247 9 dateStampObject>
  44. |         
  45.    duplicateLock: bptrLock               " Tested "
  46.      ^ <primitive 247 10 bptrLock>
  47. |         
  48.    duplicateLockFromFH: bptrFileHandle
  49.      ^ <primitive 247 11 bptrFileHandle>
  50. |         
  51.    examineAll: exAllControl with: bptrLock into: aBuffer ofSize: size type: t
  52.      ^ <primitive 247 12 bptrLock aBuffer size t exAllControl>
  53. |
  54.    endExamine: exAllControl with: bptrLock from: aBuffer ofSize: size type: t
  55.      <primitive 247 13 bptrLock aBuffer size t exAllControl>
  56. |         
  57.    examine: bptrLock into: fileInfoBlock          " Tested "
  58.      ^ <primitive 247 14 bptrLock fileInfoBlock>
  59. |         
  60.    examineFileHandle: bptrFileHandle into: fileInfoBlock
  61.      ^ <primitive 247 15 bptrFileHandle fileInfoBlock>
  62. |         
  63.    execute: commandString with: bptrInput and: bptrOutput
  64.      ^ <primitive 247 16 commandString bptrInput bptrOutput>
  65. |         
  66.    examineNext: bptrLock into: fileInfoBlock      " Tested "
  67.      ^ <primitive 247 17 bptrLock fileInfoBlock>
  68. |         
  69.    findArgumentIndex: keyword using: template
  70.      ^ <primitive 247 18 template keyword>
  71. |         
  72.    findDosEntry: devName in: dosList flags: flags
  73.      ^ <primitive 247 19 dosList devName flags>
  74. |
  75.    findSegment: segmentName startingAt: startSegment flag: systemOrUser
  76.      ^ <primitive 247 20 segmentName startSegment systemOrUser>
  77. |         
  78.    flushFileHandle: bptrFileHandle
  79.      ^ <primitive 247 21 bptrFileHandle>
  80. |         
  81.    fileRead: bptrFileHandle into: aBuffer blockSize: blkSize count: blkCount
  82.      ^ <primitive 247 22 bptrFileHandle aBuffer blkSize blkCount>
  83. |
  84.    makeInfoDataObject
  85.      ^ <primitive 247 65>         
  86. |
  87.    disposeInfoDataObject: infoDataObject
  88.      ^ <primitive 247 66 infoDataObject>         
  89. |
  90.    diskInfo: bptrLock into: infoDataObject
  91.      " Remember to use 'disposeInfoDataObject: infoDataObject' when you are done! "
  92.      ^ <primitive 247 23 bptrLock infoDataObject>
  93. |         
  94.    getInputHandle
  95.      ^ <primitive 247 24>
  96. |         
  97.    lockFile: fileName mode: accessMode         " Tested "
  98.      ^ <primitive 247 25 fileName accessMode>
  99. |         
  100.    lockDosList: flags
  101.      ^ <primitive 247 26 flags>
  102. |         
  103.    lockRecord: bptrFileHandle at: offset ofSize: recordLen mode: lockType expire: timeout
  104.      ^ <primitive 247 27 bptrFileHandle offset recordLen lockType timeout>
  105. |         
  106.    lockRecords: recordLock expiring: timeout
  107.      ^ <primitive 247 28 recordLock timeout>
  108. |         
  109.    makeDosEntry: name ofType: type
  110.      ^ <primitive 247 29 name type>
  111. |         
  112.    makeLink: linkName to: destPathBPTRLock flag: softFlag
  113.      ^ <primitive 247 30 linkName destPathBPTRLock softFlag>
  114. |
  115.    matchPattern: pattern in: string
  116.      ^ <primitive 247 31 pattern string>
  117. |         
  118.    matchPatternNoCase: pattern in: string      " Tested "
  119.      ^ <primitive 247 32 pattern string>
  120. |         
  121.    getNameFromFH: bptrFileHandle into: aBuffer ofSize: length
  122.      ^ <primitive 247 33 bptrFileHandle aBuffer length>
  123. |         
  124.    getNameFromLock: bptrLock into: aBuffer ofSize: length
  125.      ^ <primitive 247 34 bptrLock aBuffer length>
  126. |         
  127.    getNextDosEntry: dosList flags: flags
  128.      ^ <primitive 247 35 dosList flags>
  129. |         
  130.    open: fileName mode: accessMode
  131.      ^ <primitive 247 36 fileName accessMode>
  132. |         
  133.    openFileFromLock: bptrLock
  134.      ^ <primitive 247 37 bptrLock>
  135. |         
  136.    getOutputHandle
  137.      ^ <primitive 247 38>
  138. |         
  139.    parsePattern: source into: dest ofSize: destLength
  140.      ^ <primitive 247 39 source dest destLength>
  141. |         
  142.    parsePatternNoCase: source into: dest ofSize: destLength  " Tested "
  143.      ^ <primitive 247 40 source dest destLength>
  144. |         
  145.    relabel: volumeName to: newName
  146.      ^ <primitive 247 41 volumeName newName>
  147. |         
  148.    rename: oldFileOrDirName to: newName
  149.      ^ <primitive 247 42 oldFileOrDirName newName>
  150. |         
  151.    setCurrentDirNameTo: dirName
  152.      ^ <primitive 247 43 dirName>
  153. |         
  154.    setFileMode: bptrFileHandle to: mode
  155.      ^ <primitive 247 44 bptrFileHandle mode>
  156. |         
  157.    setOwnerUID: name to: ownerUID
  158.      ^ <primitive 247 45 name ownerUID>
  159. |         
  160.    setProgramDirTo: bptrLock
  161.      ^ <primitive 247 46 bptrLock>
  162. |         
  163.    setProgramName: newProgramName
  164.      ^ <primitive 247 47 newProgramName>
  165. |         
  166.    setVar: varName from: aBuffer ofSize: size flags: flags
  167.      ^ <primitive 247 48 varName aBuffer size flags>
  168. |         
  169.    startNotify: notifyRequest
  170.      ^ <primitive 247 49 notifyRequest>
  171. |         
  172.    unLock: bptrLock               " Tested "
  173.      <primitive 247 50 bptrLock>
  174. |         
  175.    unLockDosList: flags
  176.      <primitive 247 51 flags>
  177. |         
  178.    unLockRecord: bptrFileHandle at: offset ofSize: length
  179.      ^ <primitive 247 52 bptrFileHandle offset length>
  180. |         
  181.    unLockRecords: recordLockObject
  182.      ^ <primitive 247 53 recordLockObject>
  183. |         
  184.    vFWritef: bptrFileHandle format: formatString args: argv
  185.      ^ <primitive 247 54 bptrFileHandle formatString argv>
  186. |
  187.    writeChars: aBuffer ofSize: length
  188.      ^ <primitive 247 55 aBuffer length>
  189. |
  190.    getFileNameFrom: fileInfoBlock                " Tested "  
  191.      ^ <primitive 247 56 fileInfoBlock>
  192. |
  193.    getFileSizeFrom: fileInfoBlock
  194.      ^ <primitive 247 57 fileInfoBlock>
  195. |
  196.    getBlockCountFrom: fileInfoBlock
  197.      ^ <primitive 247 58 fileInfoBlock>
  198. |
  199.    getCommentFrom: fileInfoBlock
  200.      ^ <primitive 247 59 fileInfoBlock>
  201. |
  202.    getProtectionBitsFrom: fileInfoBlock
  203.      ^ <primitive 247 60 fileInfoBlock>
  204. |
  205.    getDateStampObjectFrom: fileInfoBlock
  206.      ^ <primitive 247 61 fileInfoBlock>
  207. |
  208.    getOwnerUIDFrom: fileInfoBlock
  209.      ^ <primitive 247 62 fileInfoBlock>
  210. |
  211.    getOwnerGIDFrom: fileInfoBlock
  212.      ^ <primitive 247 63 fileInfoBlock>
  213. |
  214.    isFileIn: fileInfoBlock                       " Tested "
  215.      " true for file, false for everything else! "
  216.      ^ <primitive 247 64 fileInfoBlock>
  217.